From d92ee6dc68b6bc5464cb512e53396b834879843d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 6 Apr 2010 16:23:13 -0400 Subject: [PATCH] Fixed gtk_builder_value_from_string_type() to always assign the GError when returning FALSE, fixes bgo #615000. --- gtk/gtkbuilder.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 9aafaad413..7c1c6701fb 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -1390,14 +1390,19 @@ gtk_builder_value_from_string_type (GtkBuilder *builder, ret = FALSE; break; default: - g_set_error (error, - GTK_BUILDER_ERROR, - GTK_BUILDER_ERROR_INVALID_VALUE, - "Unsupported GType `%s'", - g_type_name (type)); ret = FALSE; break; } + + /* Catch unassigned error for object types as well as any unsupported types. + * While parsing GtkBuilder; object types are deserialized + * without calling gtk_builder_value_from_string_type(). + */ + if (!ret && error && *error == NULL) + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_INVALID_VALUE, + "Unsupported GType `%s'", g_type_name (type)); return ret; } -- 2.30.2